package cn.iocoder.yudao.module.signature.controller.app.signinfo.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 应用签名记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ApplicationSignInfoRespVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5525")
    @ExcelProperty("id")
    private Long id;

    @Schema(description = "应用id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9550")
    @ExcelProperty("应用id")
    private Long applicationId;

    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3026")
    @ExcelProperty("用户id")
    private Long userId;

    @Schema(description = "设备udid", requiredMode = Schema.RequiredMode.REQUIRED, example = "11999")
    @ExcelProperty("设备udid")
    private String udid;

    @Schema(description = "应用包名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @ExcelProperty("应用包名")
    private String packetName;

    @Schema(description = "应用名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @ExcelProperty("应用名称")
    private String applicationName;

    @Schema(description = "签名应用url", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @ExcelProperty("签名应用url")
    private String applicationUrl;

    @Schema(description = "plist文件url", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @ExcelProperty("plist文件url")
    private String plistUrl;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 应用版本
     */
    private String applicationVersion;

    /**
     * 应用大小
     */
    private String applicationSize;

    /**
     * 证书编码
     */
    private String cerNumber;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 安装短链
     */
    private String installUrl;

    /**
     * 手动开启时间锁标识
     */
    private Integer timeLockFlag;

    /**
     * 时间锁天数
     */
    private Integer timeLockDays;

    /**
     * 图标地址
     */
    private String iconImg;
    /**
     * 用户昵称
     */
    private String nickname;

}